草庐IT

php - 将 Curl 客户端 ssl 移动到 Guzzle

我在php5.3和php5.5上使用Guzzlev3.9.2。我有以下使用ssl客户端证书的工作curl代码:$url="https://example.com/";$cert_file='/path/to/certificate.pem';$ch=curl_init();$options=array(CURLOPT_RETURNTRANSFER=>true,CURLOPT_FOLLOWLOCATION=>true,CURLOPT_URL=>$url,CURLOPT_SSLCERT=>$cert_file,);curl_setopt_array($ch,$options);$outpu

php - 无法限制 PHP 的 cURL 函数的下载大小

我正在使用PHP的cURL函数从steampowered.com读取配置文件。检索到的数据是XML,只需要前大约1000个字节。我使用的方法是添加一个Rangeheader,这是我在StackOverflow答案(curl:HowtolimitsizeofGET?)上读到的。我尝试的另一种方法是使用curlopt_range,但这也不起作用。执行此代码时,它会返回全部内容。我使用的是PHP版本5.2.14。 最佳答案 服务器不接受Rangeheader。你能做的最好的事情就是在你收到比你想要的更多的数据时立即取消连接。示例:1000

php - curl 返回 404 错误

我正在使用cuRL从远程服务器获取一些数据...响应采用JSON格式...这是我的代码:$ch=curl_init();curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0(compatible;MSIE5.01;WindowsNT5.0)");curl_setopt($ch,CURLOPT_URL,'http://www.myadd

php - 通过 OpenVPN 或 PPTP 的 cURL

有没有办法通过OpenVPN或PPTP等VPN执行cURL请求?我知道我可以使用代理,但VPN不同。 最佳答案 编辑:2013年7月我收到了几封关于此的电子邮件,所以我将其全部打包成一篇博文:http://www.georgiecasey.com/2013/07/26/how-to-use-overplay-and-other-vpns-as-a-curl-proxy/是的,但首先您必须在单独的界面上设置VPN,这样您的整个服务器就不会使用VPN。我不是OpenVPN专家,但我使用dev开关来指定TUN/TAP虚拟网络设备:devp

php - 在 php 中使用 curl,在单独的文件中使用客户端证书和私钥

我需要一些帮助重写这个使用*.pem(CAcert)、Clientcert和private的PHPcurl代码键在一个文件中:curl_setopt($curl,CURLOPT_URL,$this->url);curl_setopt($curl,CURLOPT_HEADER,0);curl_setopt($curl,CURLOPT_POST,true);curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);curl_setopt($curl,CURLOPT_SSLCERT,$this->keystore);curl_setopt($curl,C

当 cURL 数据 > 1024 时,PHP HTTP POST 失败

注意:解决方案在最后如果我尝试执行超过1024个字符的HTTPPOST,它将失败。为什么?这是一个最小的例子:收件人.php:1000||strlen($HTTP_RAW_POST_DATA)>1000){echo"Thiswasatriumph.";}?>发件人.php:$url,CURLOPT_HEADER=>false,CURLOPT_CONNECTTIMEOUT=>999,CURLOPT_RETURNTRANSFER=>true,CURLOPT_POST=>1,CURLOPT_POSTFIELDS=>$post_data));$result=curl_exec($c);echo

PHP Curl(带 NSS)在连接到 https 时可能使用 SSLv3 而不是 TLS

我在PHP中使用curl库(带有NSS)连接到我的其他服务器。一切都很好,直到上周,当目标服务器由于poodle漏洞(顺便说一下CloudFlare)而停止支持SSLv3时。现在,我正在尝试使用TLS建立连接,但我仍然收到“SSL连接错误”。有示例代码,我正在使用:$ch=curl_init();curl_setopt_array($ch,array(CURLOPT_URL=>'https://www.lumiart.cz',CURLOPT_RETURNTRANSFER=>true,CURLOPT_SSLVERSION=>1,CURLOPT_SSL_VERIFYPEER=>false,

PHP cURL,POST JSON

我需要发布以下JSON代码,但由于某种原因它无法正常工作。下面是我的代码。$fieldString="395609399";//thecurlrequestprocessorfunctionprocessCurlJsonrequest($URL,$fieldString){//InitiatecURLrequestandsendbacktheresult$ch=curl_init();curl_setopt($ch,CURLOPT_HTTPHEADERS,array('Content-Type:application/json'));curl_setopt($ch,CURLOPT_UR

android - 如何在 Android studio 1.4 中将项目从 sdk 23 降级到 sdk 22

之前我使用的是androidstudio1.3,但我收到了几次关于新版本androidstudio的消息。所以我决定将androidstudio更新到新版本1.4。更新后,我的gradle文件出现以下错误:D:\..\hamrahsalamat-payesh\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.0\res\values-v23\values-v23.xmlError:(2)Errorretrievingparentforitem:Noresourcefoundthatmat

android - 了解 targetSDK=22 行为的 Android 6.0

我有应用程序(当前targetsdkversion是23)在版本4.4和5.1中运行,但使用6.0它需要运行时权限。这需要一些编码更改,我宁愿推迟一段时间。将targetsdkversion更改为22而不是23是否完全可以。这是否允许应用程序在不使用“运行时权限”的情况下在6.0中运行?如果用户决定在安装后更改权限,我可能无法正确阅读应用程序。我现在可以接受这个限制。 最佳答案 如果您已经发布了targetSdkVersion为23的应用程序,请注意,由于目标SDK,安装它的用户将无法“升级”到您的应用程序的新版本降级。他们将不得不